home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / kudzu / kudzu.h < prev    next >
C/C++ Source or Header  |  2005-12-04  |  3KB  |  98 lines

  1. /* Copyright 1999-2003 Red Hat, Inc.
  2.  *
  3.  * This software may be freely redistributed under the terms of the GNU
  4.  * public license.
  5.  *
  6.  * You should have received a copy of the GNU General Public License
  7.  * along with this program; if not, write to the Free Software
  8.  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  9.  *
  10.  */
  11.  
  12. #ifndef _KUDZU_H_
  13. #define _KUDZU_H_
  14.  
  15. /* kudzu: it grows on you */
  16.  
  17. /* level of debugging output */
  18. #undef DEBUG_LEVEL
  19.  
  20. #ifdef DEBUG_LEVEL
  21. #define DEBUG(s...) fprintf(stderr,s)
  22. #else
  23. #define DEBUG(s...) ;
  24. #endif
  25.  
  26. #include "device.h"
  27. #include "ddc.h"
  28. #include "scsi.h"
  29. #include "ide.h"
  30. #include "isapnp.h"
  31. #include "sbus.h"
  32. #include "pci.h"
  33. #include "pcmcia.h"
  34. #include "serial.h"
  35. #include "parallel.h"
  36. #include "psaux.h"
  37. #include "usb.h"
  38. #include "firewire.h"
  39. #include "keyboard.h"
  40.  
  41. /* Do any preinitialization of device data */
  42. /* Only required if you desire to change the default device lists */
  43. int initializeDeviceList(void);
  44. int initializeBusDeviceList(enum deviceBus bus);
  45.  
  46. /* Free any driver lists initialized with initializeDeviceList() */
  47. void freeDeviceList();
  48.  
  49. /* Probe for devices of the specified class, on the specified bus,
  50.  * with the specified class. Returns a NULL-terminated array of
  51.  * device (or subclass) pointers */
  52. struct device ** probeDevices ( enum deviceClass probeClass, 
  53.                   enum deviceBus probeBus,
  54.                   int probeFlags
  55.                    );
  56.  
  57. /* Read a config file for a device list */
  58. struct device ** readDevices ( char *fn );
  59.  
  60. /* Write the NULL-terminated device pointer array to a file, in a
  61.  * format suitable for readDevices() */
  62. int writeDevices ( char *fn, struct device **devlist);
  63.  
  64. /* Compares the two lists. 
  65.  * retlist1 and retlist2 contain items that are unique to list1/list2. */
  66. int listCompare( struct device **list1, struct device **list2,
  67.         struct device ***retlist1, struct device ***retlist2);
  68.  
  69. /* Remove device 'dev' from list 'devlist'.
  70.  * Returns the new list head. */
  71. struct device *listRemove(struct device *devlist, struct device *dev);
  72.  
  73. typedef struct device *(newFunc)(struct device *);
  74. typedef int (initFunc)();
  75. typedef struct device *(probeFunc)(enum deviceClass, int, struct device *);
  76.  
  77. struct bus {
  78.     enum deviceBus busType;
  79.     char *string;
  80.     struct device *(*newFunc)(struct device *);
  81.     int (*initFunc)(char *filename);
  82.     void (*freeFunc)();
  83.     struct device *(*probeFunc)(enum deviceClass, int, struct device *);
  84. };
  85.  
  86. extern struct bus buses[];
  87.  
  88. struct kudzuclass {
  89.     enum deviceClass classType;
  90.     char *string;
  91. };
  92.  
  93. extern struct kudzuclass classes[];
  94.  
  95. extern char *module_file;
  96. extern float kernel_release;
  97. #endif
  98.